package com.uzai.console.service.locallive;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.jd.jdorder.JdOrderIdDto;
import com.uzai.console.dto.locallive.elmorder.*;
import com.uzai.console.vo.locallive.elmorder.ElmOrderInfoVo;
import com.uzai.console.vo.locallive.elmorder.ElmOrderReportVo;

/***
 * @author liuqi
 * @date 2021年08月13日 11:33
 */
public interface ElmOrderService {

    /**
     * 查询饿了么订单列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderQuery
     * @return null
     */
    Page<ElmOrderInfoVo> findElmOrderList(ElmOrderQuery elmOrderQuery);

    /**
     * 查询饿了么订单详情
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderIdDto
     * @return null
     */
    ElmOrderInfoVo findElmOrderInfo(ElmOrderIdDto elmOrderIdDto);

    /**
     * 查询饿了么订单统计信息
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderQuery
     * @return null
     */
    ElmOrderReportVo findElmOrderRepot(ElmOrderQuery elmOrderQuery);

    /**
     * 饿了么订单删除
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderDelDto
     * @return null
     */
    Boolean delElmOrder(ElmOrderDelDto elmOrderDelDto);

    /**
     * 订单确认收货
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderIdDto
     * @return null
     */
    Boolean confirmReceive(ElmOrderIdDto elmOrderIdDto);

    /**
     * 订单手动维权
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderIdDto
     * @return null
     */
    Boolean confirmRefund(ElmOrderIdDto elmOrderIdDto);

    /**
     * 订单冻结
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderIdDto
     * @return null
     */
    Boolean confirmFrozen(ElmOrderIdDto elmOrderIdDto);

    /**
     * 订单解冻
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderIdDto
     * @return null
     */
    Boolean confirmThaw(ElmOrderIdDto elmOrderIdDto);

    /**
     * 订单解绑用户
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderUnbindUserDto
     * @return null
     */
    Boolean unbindUser(ElmOrderUnbindUserDto elmOrderUnbindUserDto);

    /**
     * 订单绑定用户
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderBindUserDto
     * @return null
     */
    Boolean bindUser(ElmOrderBindUserDto elmOrderBindUserDto);

    /**
     * 修改解冻时间
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderThawTimeDto
     * @return null
     */
    Boolean updateThawTime(ElmOrderThawTimeDto elmOrderThawTimeDto);

    /**
     * 手动下载饿了么订单
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderDownLoadDto
     * @return null
     */
    void downloadOrder(ElmOrderDownLoadDto elmOrderDownLoadDto);

    /**
     * 刷新饿了么订单
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderIdDto
     * @return null
     */
    void refreshOrder(ElmOrderIdDto elmOrderIdDto);

    /**
     * 查询所有未绑定用户订单列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderUnbindDtoQuery
     * @return null
     */
    Page<ElmOrderInfoVo> findUnbindUserList(ElmOrderUnbindDtoQuery elmOrderUnbindDtoQuery);

    /**
     * 查询所有未绑定用户订单统计信息
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderUnbindDtoQuery
     * @return null
     */
    ElmOrderReportVo findUnbindUserReport(ElmOrderUnbindDtoQuery elmOrderUnbindDtoQuery);

    /**
     * 删除所有未绑定用户订单列表
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderDeleteUnbindDto
     * @return null
     */
    Boolean deleteUnbindUserList(ElmOrderDeleteUnbindDto elmOrderDeleteUnbindDto);

    /**
     * 更新7天前未收货订单
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param merId
     * @return null
     */
    void updateElmOrderUnReceivedList(Long merId);

    /**
     * 追回返利
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param elmOrderIdDto
     * @return null
     */
    Boolean rebateRefound(ElmOrderIdDto elmOrderIdDto);
}
